草庐IT

java - 模拟 UIInput 类进行测试

全部标签

ruby-on-rails - 使用 get 和 delete 运行 Rspec 测试时获取错误数量的参数(2 个为 0)

这应该是一个简单的问题,就是找不到导致测试失败的原因。运行rspec时,我不断收到以下错误。但是在评论“发送”方法之后,一切正常。1)MessagesGET/messagesworks!(nowwritesomerealspecs)Failure/Error:gettarget_app_messages_path(@message.target_app.id)ArgumentError:wrongnumberofarguments(2for0)#./app/controllers/messages_controller.rb:37:in`send'路线.rbresources:targ

ruby-on-rails - 测试 'create' Controller 操作的正确方法是什么?

我正在使用RubyonRails3.2.2、Rspec2.9.0和RspecRails2.9.0。我想测试createController操作,但我不知道如何使其成为“正确”/“正确”的方式。我“搭建”了模型、Controller、View……文件,因此在这些文件中我拥有由RubyonRails生成器生成的通用代码;在我的规范文件中,我有:it"assigns@article"donew_article=FactoryGirl.build(:article)Article.should_receive(:new).and_return(new_article)post:createas

ruby - 使用空格而不是制表符进行缩进的性能影响

我目前使用软制表符(即空格)来缩进我的Ruby代码,如果我使用硬制表符会在解释代码时提高性能吗?我假设读取一个制表符比解析4个空格字符更快(但可以忽略不计)。 最佳答案 您是否了解源代码解释所涉及的所有阶段?只有第一个,词法分析,必须处理空白,在空白的情况下,“处理”意味着“忽略它”。这个阶段只占总时间的一小部分,它通常使用正则表达式完成并且几乎具有线性复杂度。将其与解析进行对比,比较起来可能需要很长时间。解释只是在某种程度上可行,因为这两个阶段(加上第三个阶段,字节码生成,在使用字节码的实现中)比重要程序的实际执行要少得多。这个不

ruby-on-rails - 如何按 created_at 属性对集合进行排序

我正在使用RubyonRails2.3.8,我有一个从其他两个集合构建的集合,如下所示:@coll1=Model1.all@coll2=Model2.all@coll=@coll1现在,我想按子孙顺序按created_at属性对该集合进行排序。所以,我做了以下事情:@sorted_coll=@coll.sort{|a,b|b.created_ata.created_at}我有以下异常:undefinedmethod`created_at'for#甚至认为它存在于那些模型中。谁能帮帮我吗? 最佳答案 您将另一个数组作为另一个元素插入@

ruby-on-rails - 使用 rspec 测试具有子域约束的​​路由

我在使用子域约束进行rspec路由测试时遇到问题。特别是我有一条路线constraints:subdomain=>"api"doresources:sign_ups,:only=>[:create]end和(除其他外)测试it"doesallowcreationofsignups"do{:post=>"/sign_ups"}.shouldroute_to(:controller=>"sign_ups",:action=>"create",)end如果我删除子域约束,则此测试通过,但它会失败。我必须告诉rspec使用子域,但我不知道如何使用TIA安迪 最佳答案

ruby-on-rails - 给定有序的 id 列表对对象数组进行排序

我有一组对象@users,每个对象都有其id属性。@users=[#,#]我还有一个有序的ids数组。ids=[2,1]¿是否有一种神奇的方法可以使用该ID列表对集合进行排序?如果可能,不再次调用数据库。谢谢!!! 最佳答案 其实你不需要排序,建立一个中间的索引散列,它是O(n):users_by_id=Hash[@users.map{|u|[u.id,u]}]users_by_id.values_at(*ids)如果您仍想尝试排序方法,Schwartziantransform就足够了:@users.sort_by{|u|ids.i

ruby - 正确的 Assert_Raise 单元测试和异常类的使用

我正在研究Exercise49ofLearnRubytheHardWay练习要求为提供的每个函数编写单元测试。我正在测试的项目之一是是否引发了适当的异常。建议我们为此使用assert_raise。这是我正在测试的代码:classParserError下面是函数parse_verb的测试:deftest_parse_verblist_one=[Pair.new(:verb,'go'),Pair.new(:noun,'king')]assert_equal(parse_verb(list_one),Pair.new(:verb,'go'))list_two=[Pair.new(:noun,

regex - 如何在 Ruby 中以 %r<…> 分隔的正则表达式进行否定回顾?

我喜欢%r定界符,因为它使识别正则表达式的开头和结尾变得非常容易,而且我不必转义任何/.但似乎它们有一个其他分隔符所没有的不可逾越的局限性?所有其他可以想象的分隔符都可以正常工作:/(?但是当我尝试这样做时:%r它给出了这个语法错误:unterminatedregexpmeetsendoffile好吧,它可能不喜欢它不是一个平衡对,但是你如何避免它让它喜欢它呢?是否需要转义?根据wikibooks.org:Anysinglenon-alpha-numericcharactercanbeusedasthedelimiter,%[includingthese], %?orthese?, %

ruby-on-rails - cucumber 测试失败,返回 `stream closed (IOError)`

我们目前正在将我们的Rails应用程序升级到Rails4。在3.2中,我们的Cucumber(1.3.17)测试运行良好(如果可悲地缓慢),使用Capybara(2.4.4)、Poltergeist(1.5.1)和PhantomJS(1.9.8)引擎盖下。但是在4.0.12和4.1.8中,我们在运行中的随机点得到一个streamclosed(IOError):streamclosed(IOError)/var/lib/jenkins/.rvm/gems/ruby-2.1.5@tallama-integration/gems/cucumber-1.3.17/lib/cucumber/fo

ruby-on-rails - 是否有用于 Rails 测试的 setup_class/teardown_class?

我需要为一些类或系统范围的Rails测试设置和拆卸方法,但我只找到了一种方法来定义在每个测试级别上工作的常规设置/拆卸。例如:classActiveSupport::TestCasesetupdoputs"Settingup"endteardowndoputs"tearingdown"endend将为每个测试用例执行输出,但我想要这样的东西:classActiveSupport::TestCasesetup_fixturedoputs"Settingup"endteardown_fixturedoputs"tearingdown"endend这将在所有测试方法之前执行设置_fixtur